home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar 2003 April
/
Gamestar_50_2003-04_cd1.bin
/
Dema
/
echelonww_demo.exe
/
{app}
/
Modules
/
l10n_params.py
< prev
next >
Wrap
Text File
|
2003-01-27
|
6KB
|
188 lines
def mergeParams(a, b):
res = {}
def add(x):
for key, l in x.items():
res.setdefault(key, [])
res[key].extend(l)
add(a)
add(b)
return res
def check(expected, a, b):
import copy
_a = copy.deepcopy(a)
_b = copy.deepcopy(b)
res = mergeParams(a, b)
assert expected == res, res
assert _a == a
assert _b == b
check({'a':['A'],'b':['B'], }, {'a':['A'], }, {'b':['B'], })
check({'a':['A', 'AA']}, {'a':['A'], }, {'a':['AA'], })
def makeKeysParams(keys, params):
return dict([(key, params)for key in keys])
menu_common_params = {'s':['PlayerName'
,'PlayerCallsign']
}
event_common_params = mergeParams(menu_common_params,
{
's':['CampaignTitle',
'EventTitle'],
'd':[
'EventDateYear',
'EventDateMonth',
'EventDateDay',
'EventDateHour',
'EventDateMin']
})
event_common_keys = [
'Title',
'Text',
'Prev',
'Campaign',
'Next.Next',
'Next.Continue']
record_keys = event_common_keys+[
'Info',
'Attach',
'Statistics']
record_keys_params = dict([(key, event_common_params)for key in record_keys])
record_keys_params['Text'] = mergeParams(record_keys_params['Text'], {'s':['RecordText']})
def create(screen, keys_params):
l10n = {}
for key, params in keys_params.items():
format = ''
for param_type, param_names in params.items():
format+=''.join(['%('+param_name+')'+param_type for param_name in param_names])
l10n[screen+'.'+key] = format
return l10n
selectplayer_keys = [
'Title',
'PlayersListTitle',
'PlayerDescTitle',
'PlayerDesc',
'PlayerDesc.Campaign',
'Select',
'Cancel'
'CreateNew',
'NewProfileNameTitle',
'NewProfileOk',
'NewProfileCancel']
selectplayer_params = menu_common_params
selectplayer_keys_params = makeKeysParams(selectplayer_keys, selectplayer_params)
selectplayer_keys_params['PlayerDesc'] = mergeParams(selectplayer_keys_params['PlayerDesc'],
{'s':['SelectedPlayerName',
'SelectedPlayerCallsign',
'SelectedPlayerCampaignsList']})
selectplayer_keys_params['PlayerDesc.Campaign'] = mergeParams(selectplayer_keys_params['PlayerDesc.Campaign'],
{'s':['CampaignTitle',
'CampaignLastEventTitle'],
'd':['CampaignLastEventDate'+unit for unit in ['Year', 'Month', 'Day', 'Hour', 'Min']]})
class serverslist:
serverlists_indeces = map(str, range(1, 6))
serverlists = ["ServerList"+i for i in serverlists_indeces]
_keys = [
'Title',
'ServerListTitle.LAN',
'ServerListTitle.GameSpy']+\
["ServerList"+i+".Title" for i in serverlists_indeces]+\
serverlists+\
['RefreshFromGameSpy',
'RefreshFromLAN',
'AddressText',
'Join',
'Create',
'Back']
_params = menu_common_params
_keys_params = makeKeysParams(_keys, _params)
for l in serverlists:
_keys_params[l] = mergeParams(_keys_params[l], {
's':['ServerName',
'ServerType',
'CampaignTitle'
'MissionTitle',
'MissionType'],
'd':['ServerPing',
'ServerPlayers',
'ServerPlayersMax',
]})
class ServerOpt:
_keys = [
"Title",
"ServerNameTitle",
"ServerOptionsTitle",
"NumberOfPlayersTitle",
"NumberOfConnectionsTitle",
"TeamplayOptionsTitle",
"KillLimitTitle",
"TimeLimitTitle",
"PublishOnGameSpy",
"EnableColorNames",
"NeedToConfirmVictories",
"CanStealVictories",
"Ok",
"Default",
"Back",]
_params = menu_common_params
_keys_params = makeKeysParams(_keys, _params)
class EngBay:
_keys = ["Title",
"DescriptionTitle",
"CraftsListTitle",
"PrimaryListTitle",
"SecondaryListTitle",
"RocketListTitle",
"Default",
"Chat",
"Ok",
"Cancel"]
_params = menu_common_params
_keys_params = makeKeysParams(_keys, _params)
class Connecting:
_keys = ['Text1', 'Text2', 'Cancel']
_params = mergeParams(menu_common_params,
{'s':['ServerName']})
_keys_params = makeKeysParams(_keys, _params)
class Exit:
_keys = ['Text', 'Yes', 'No', 'Restart']
_params = menu_common_params
_keys_params = makeKeysParams(_keys, _params)
class Error:
_keys = ['Title', 'Error', 'Ok']
_params = menu_common_params
_keys_params = makeKeysParams(_keys, _params)
_screens_l10n = {}
l10n = {'Menu':_screens_l10n}
def add(screen_name, keys_params):
_screens_l10n[screen_name] = create(screen_name, keys_params)
add('RecordScreen', record_keys_params)
add('SelectPlayerScreen', selectplayer_keys_params)
add('ServerListScreen', serverslist._keys_params)
add('ServerOptScreen', ServerOpt._keys_params)
add('EngBayScreen', EngBay._keys_params)
add('ConnectingScreen', Connecting._keys_params)
add('ExitScreen', Exit._keys_params)
add('ErrorScreen', Error._keys_params)